一群孩子做游戏，现在请你根据游戏得分来发糖果，要求如下：

1. 每个孩子不管得分多少，起码分到一个糖果。
2. 任意两个相邻的孩子之间，得分较多的孩子必须拿多一些糖果。(若相同则无此限制)

给定一个数组 
arr 代表得分数组，请返回最少需要多少糖果。

/**
 * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
 *
 * pick candy
 * @param arr int整型一维数组 the array
 * @param arrLen int arr数组长度
 * @return int整型
 */
int candy(int* arr, int arrLen ) {
    // write code here
    int count = 0;
    int* b = (int*)malloc(sizeof(int) * arrLen);
    int i = 0;

    for(i = 0; i < arrLen; i++)
    {
        b[i] = 1;
    }

    for(i = 0; i < arrLen - 1; i++)
    {
        if(arr[i] < arr[i+1])
        b[i+1] = b[i] + 1;
    }

    for(i = arrLen - 1; i > 0; i--)
    {
        if(arr[i-1] > arr[i]&&b[i-1] <= b[i])
        b[i-1] = b[i] + 1;
    }

    for(i = 0; i < arrLen; i++)
    count += b[i];

    return count;
}